package com.wanxi.test;

//二分法查找，只能查找有序数组。
public class BinarySearch {
    public static void main(String[] args) {
        int[] array = {2, 3, 5, 6, 8, 9, 10, 11, 14, 18, 36};//查找元素14的索引

        int find = 37;

        int start = 0;//第一个索引编号
        int end = array.length - 1;//最后一个索引编号
        int time = 0;

        while (start <= end) {
            int middle = (end + start) / 2;

            if (find == array[middle]) {
                System.out.println("找到了，元素" + find + "的索引号为： " + middle);
                time++;
                break;
            } else if (find < array[middle]) {
                end = middle - 1;//必须如此，排除掉被查到的本身
            } else {
                start = middle + 1;//必须如此，排除掉被查到的本身
            }


        }

        if (time == 0) {
            System.out.println("没有找到该元素");
        }

    }
}
